package vip.xiaonuo.modular.manage.tsdatarecord.parser;

import vip.xiaonuo.modular.manage.tsdatarecord.entity.BaseMetadata;

import java.util.List;
import java.util.function.Consumer;

/**
 * FileParser
 *
 * @author JackLee
 * 2022/8/5 15:47
 */
public interface FileParser {

    boolean available(String extension);

    /**
     * 解析数据
     *
     * @param filePath  文件路径
     * @param dealSize  每次处理的条数 默认1000
     * @param recordId  文件记录id
     * @param consumer  处理的方法
     * @return
     */
    ParserResult parse(String filePath, Integer dealSize, String recordId, Consumer<List<BaseMetadata>> consumer);
}
